#include <stdio.h>
#include <string.h>
#include "sha1.h"  // 包含SHA-1的头文件

int main() {
    // 定义输入数据
    const char *input_data = "hello, world";
    int data_len = strlen(input_data);

    // 定义输出哈希值的数组
    unsigned char hashout[20];

    // 初始化SHA-1上下文
    sha1_state_t ctx;
    sha1_init(&ctx);

    // 追加数据到上下文中
    sha1_append(&ctx, (unsigned char *)input_data, data_len);

    // 完成哈希计算，生成最终的哈希值
    sha1_finish(&ctx, hashout);

    // 输出哈希值
    printf("SHA-1: ");
    for (int i = 0; i < 20; i++) {
        printf("%02x", hashout[i]);
    }
    printf("\n");



    const char* data = "hello, world";
    unsigned char hash[20];
    sha1_hash((unsigned char *)data, strlen(data), hash);  // 输出20字节哈希值
    // 输出哈希值
    printf("SHA-1: ");
    for (int i = 0; i < 20; i++) {
        printf("%02x", hash[i]);
    }
    printf("\n");

    return 0;
}